[INFO] cloning repository https://github.com/BiBoyang/AMClaw
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BiBoyang/AMClaw" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBiBoyang%2FAMClaw", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBiBoyang%2FAMClaw'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fca62ea8c2149f3e21bb0670176dc838492f575a
[INFO] testing BiBoyang/AMClaw against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBiBoyang%2FAMClaw" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/BiBoyang/AMClaw
[INFO] finished tweaking git repo https://github.com/BiBoyang/AMClaw
[INFO] tweaked toml for git repo https://github.com/BiBoyang/AMClaw written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BiBoyang/AMClaw on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BiBoyang/AMClaw already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rusqlite v0.31.0
[INFO] [stderr]   Downloaded nix v0.31.2
[INFO] [stderr]   Downloaded libsqlite3-sys v0.28.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 521e218c51b1136d8affdb5ec04a14c39c81572bfdf7bbddf9dded07f24eb47e
[INFO] running `Command { std: "docker" "start" "-a" "521e218c51b1136d8affdb5ec04a14c39c81572bfdf7bbddf9dded07f24eb47e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "521e218c51b1136d8affdb5ec04a14c39c81572bfdf7bbddf9dded07f24eb47e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "521e218c51b1136d8affdb5ec04a14c39c81572bfdf7bbddf9dded07f24eb47e", kill_on_drop: false }`
[INFO] [stdout] 521e218c51b1136d8affdb5ec04a14c39c81572bfdf7bbddf9dded07f24eb47e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5dbe401c829c21ab9aef0b68ac2019c17e109b180c0057d6b1608d9b0bb245d8
[INFO] running `Command { std: "docker" "start" "-a" "5dbe401c829c21ab9aef0b68ac2019c17e109b180c0057d6b1608d9b0bb245d8", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling rustls v0.23.39
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling phf_shared v0.12.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling phf v0.12.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling AMClaw v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s
[INFO] running `Command { std: "docker" "inspect" "5dbe401c829c21ab9aef0b68ac2019c17e109b180c0057d6b1608d9b0bb245d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5dbe401c829c21ab9aef0b68ac2019c17e109b180c0057d6b1608d9b0bb245d8", kill_on_drop: false }`
[INFO] [stdout] 5dbe401c829c21ab9aef0b68ac2019c17e109b180c0057d6b1608d9b0bb245d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5f4dc664dcdac3632a526622d550ee817bb442a68dd7ab128cbde5137e64a063
[INFO] running `Command { std: "docker" "start" "-a" "5f4dc664dcdac3632a526622d550ee817bb442a68dd7ab128cbde5137e64a063", kill_on_drop: false }`
[INFO] [stderr]    Compiling AMClaw v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.98s
[INFO] running `Command { std: "docker" "inspect" "5f4dc664dcdac3632a526622d550ee817bb442a68dd7ab128cbde5137e64a063", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f4dc664dcdac3632a526622d550ee817bb442a68dd7ab128cbde5137e64a063", kill_on_drop: false }`
[INFO] [stdout] 5f4dc664dcdac3632a526622d550ee817bb442a68dd7ab128cbde5137e64a063
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 92ee6a63d7b1f17cf7549da6855bad4aeeb65343e7eb291b148cd2439f6f77ca
[INFO] running `Command { std: "docker" "start" "-a" "92ee6a63d7b1f17cf7549da6855bad4aeeb65343e7eb291b148cd2439f6f77ca", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/amclaw-02272e1e747cb2e1)
[INFO] [stdout] 
[INFO] [stdout] running 400 tests
[INFO] [stdout] test agent_core::tests::agent_log_payload_keeps_contract_fields ... ok
[INFO] [stdout] test agent_core::tests::ask_user_failure_action_returns_user_message ... ok
[INFO] [stdout] test agent_core::tests::context_pack_exposes_section_metadata ... ok
[INFO] [stdout] test agent_core::tests::context_pack_includes_previous_observation_summaries ... ok
[INFO] [stdout] test agent_core::tests::context_assembler_includes_runtime_fields_and_observation ... ok
[INFO] [stdout] test agent_core::tests::context_summary_contains_core_runtime_signals ... ok
[INFO] [stdout] test agent_core::tests::context_pack_records_trim_and_drop_reasons ... ok
[INFO] [stdout] test agent_core::tests::invalid_retriever_mode_fails_explicitly ... ok
[INFO] [stdout] test agent_core::tests::derive_runtime_session_state_merges_persistent_and_runtime ... ok
[INFO] [stdout] test agent_core::tests::llm_plan_business_tools_are_supported ... ok
[INFO] [stdout] test agent_core::tests::full_replan_scope_replaces_entire_plan ... ok
[INFO] [stdout] test agent_core::tests::llm_plan_markdown_json_is_supported ... ok
[INFO] [stdout] test agent_core::tests::llm_plan_json_is_supported ... ok
[INFO] [stdout] test agent_core::tests::llm_plan_with_expected_observation_is_supported ... ok
[INFO] [stdout] test agent_core::tests::llm_plan_with_plan_steps_and_progress_is_supported ... ok
[INFO] [stdout] test agent_core::tests::agent_run_writes_trace_file ... ok
[INFO] [stdout] test agent_core::tests::failed_tool_marks_plan_step_failed ... ok
[INFO] [stdout] test agent_core::tests::current_step_index_tracks_executor_progress ... ok
[INFO] [stdout] test agent_core::tests::map_llm_plan_requires_path_for_read ... ok
[INFO] [stdout] test agent_core::tests::invalid_command_returns_error ... ok
[INFO] [stdout] test agent_core::tests::loop_create_then_read ... ok
[INFO] [stdout] test agent_core::tests::current_step_replan_scope_preserves_done_prefix_and_tail ... ok
[INFO] [stdout] test agent_core::tests::agent_run_with_context_writes_upstream_metadata ... ok
[INFO] [stdout] test agent_core::tests::latest_observation_pre_trims_to_section_budget ... ok
[INFO] [stdout] test agent_core::tests::low_value_observation_replan_then_ask_user ... ok
[INFO] [stdout] test agent_core::tests::merge_string_arrays_dedup_still_works_with_reserve ... ok
[INFO] [stdout] test agent_core::tests::merge_string_arrays_deduplicates_and_caps_length ... ok
[INFO] [stdout] test agent_core::tests::merge_string_arrays_is_case_insensitive_dedup ... ok
[INFO] [stdout] test agent_core::tests::daily_index_markdown_is_generated ... ok
[INFO] [stdout] test agent_core::tests::merge_string_arrays_runtime_signal_is_reserved_when_capacity_full ... ok
[INFO] [stdout] test agent_core::tests::one_step_is_not_enough_for_tool_then_finalize ... ok
[INFO] [stdout] test agent_core::tests::persist_twice_appends_index_without_overwrite ... ok
[INFO] [stdout] test agent_core::tests::plan_step_statuses_are_tracked_in_trace ... ok
[INFO] [stdout] test agent_core::tests::prefix_command_is_supported ... ok
[INFO] [stdout] test agent_core::tests::agent_core_uses_retriever_trait_not_store_directly ... ok
[INFO] [stdout] test agent_core::tests::business_context_snapshot_reads_user_memories ... ok
[INFO] [stdout] test agent_core::tests::hybrid_mode_returns_hybrid_retriever_with_fallback ... ok
[INFO] [stdout] test agent_core::tests::previous_observations_skip_duplicate_summaries ... ok
[INFO] [stdout] test agent_core::tests::memory_no_user_id_degrades_gracefully ... ok
[INFO] [stdout] test agent_core::tests::recovery_loop_guard_prevents_infinite_escalation ... ok
[INFO] [stdout] test agent_core::tests::remaining_plan_replan_scope_replaces_remaining_steps ... ok
[INFO] [stdout] test agent_core::tests::replan_budget_exhaustion_turns_into_ask_user ... ok
[INFO] [stdout] test agent_core::tests::business_context_snapshot_reads_current_and_recent_tasks ... ok
[INFO] [stdout] test agent_core::tests::preview_context_does_not_apply_memory_feedback ... ok
[INFO] [stdout] test agent_core::tests::memory_user_isolation_prevents_cross_user_leak ... ok
[INFO] [stdout] test agent_core::tests::legacy_flow_no_regression_with_default_rule_retriever ... ok
[INFO] [stdout] test agent_core::tests::run_context_builder_keeps_optional_fields ... ok
[INFO] [stdout] test agent_core::tests::run_with_context_returns_runtime_session_state ... ok
[INFO] [stdout] test agent_core::tests::scripted_planner_supports_multi_step_tool_loop ... ok
[INFO] [stdout] test agent_core::tests::memory_v1_types_are_injected_with_labels ... ok
[INFO] [stdout] test agent_core::tests::memory_feedback_retrieved_and_injected_are_recorded ... ok
[INFO] [stdout] test agent_core::tests::session_state_low_signal_only_for_runtime_default_goal ... ok
[INFO] [stdout] test agent_core::tests::memory_budget_trimming_removes_excess ... ok
[INFO] [stdout] test agent_core::tests::memory_budget_trimming_for_typed_memories ... ok
[INFO] [stdout] test agent_core::tests::session_state_persistent_goal_not_filtered_even_if_template_like_text ... ok
[INFO] [stdout] test agent_core::tests::session_state_persistent_fallback_goal_is_not_low_signal ... ok
[INFO] [stdout] test agent_core::tests::context_assembler_includes_business_context_sections ... ok
[INFO] [stdout] test agent_core::tests::session_state_v2_all_slots_injected_into_prompt ... ok
[INFO] [stdout] test agent_core::tests::session_text_compaction_supports_truncate_strategy ... ok
[INFO] [stdout] test agent_core::tests::session_text_section_keeps_full_text_for_short_input ... ok
[INFO] [stdout] test agent_core::tests::session_text_section_uses_boundary_compaction_for_long_input ... ok
[INFO] [stdout] test agent_core::tests::preview_context_renders_budget_and_sections ... ok
[INFO] [stdout] test agent_core::tests::low_value_observation_triggers_replan ... ok
[INFO] [stdout] test agent_core::tests::stalled_trajectory_escalates_to_full_replan_then_ask_user ... ok
[INFO] [stdout] test agent_core::tests::successful_tool_can_fail_done_rule_validation ... ok
[INFO] [stdout] test agent_core::tests::trace_contains_session_state_observability_fields ... ok
[INFO] [stdout] test agent_core::tests::memory_feedback_applied_once_per_run ... ok
[INFO] [stdout] test agent_core::tests::trace_context_pack_fields_populated_on_budget_trim ... ok
[INFO] [stdout] test agent_core::tests::trace_context_pack_fields_present_after_run ... ok
[INFO] [stdout] test agent_core::tests::trace_index_backcompat_missing_injected_alias_fields_defaults_to_zero ... ok
[INFO] [stdout] test agent_core::tests::trace_records_recovery_attempt_action_outcome ... ok
[INFO] [stdout] test agent_core::tests::transient_failure_is_classified_as_retry_step ... ok
[INFO] [stdout] test agent_core::tests::transient_failure_retry_then_replan ... ok
[INFO] [stdout] test agent_core::tests::unfinished_plan_final_triggers_trajectory_drift_replan ... ok
[INFO] [stdout] test agent_core::tests::validate_expected_observation_checks_expected_fields ... ok
[INFO] [stdout] test agent_core::tests::write_daily_index_markdown_skips_invalid_lines ... ok
[INFO] [stdout] test agent_core::tests::preview_context_respects_agent_config_summary_strategy ... ok
[INFO] [stdout] test chat_adapter::tests::chat_log_payload_keeps_contract_fields ... ok
[INFO] [stdout] test agent_core::tests::rollout_allowlist_hit_shadow_uses_primary ... ok
[INFO] [stdout] test agent_core::tests::preview_context_verbose_includes_section_content_and_memory_drop_details ... ok
[INFO] [stdout] test agent_core::tests::rollout_allowlist_miss_hybrid_fallback_to_rule ... ok
[INFO] [stdout] test agent_core::tests::retrieval_observability_fields_present_in_trace ... ok
[INFO] [stdout] test agent_core::tests::rollout_disabled_semantic_fallback_to_rule ... ok
[INFO] [stdout] test agent_core::tests::semantic_mode_falls_back_to_rule_with_fallback_name ... ok
[INFO] [stdout] test agent_core::tests::rule_mode_returns_rule_retriever_directly ... ok
[INFO] [stdout] test agent_core::tests::session_state_single_item_too_long_marks_dropped ... ok
[INFO] [stdout] test agent_core::tests::trace_contains_typed_memory_observability_fields ... ok
[INFO] [stdout] test chat_adapter::tests::low_signal_runtime_state_does_not_overwrite_persistent ... ok
[INFO] [stdout] test agent_core::tests::session_state_multi_turn_isolation ... ok
[INFO] [stdout] test agent_core::tests::shadow_mode_returns_shadow_retriever_with_rule_output ... ok
[INFO] [stdout] test agent_core::tests::session_state_dedup_marks_dropped ... ok
[INFO] [stdout] test agent_core::tests::suppressed_typed_memory_not_injected ... ok
[INFO] [stdout] test agent_core::tests::session_state_trim_marks_budget_exceeded ... ok
[INFO] [stdout] test chat_adapter::tests::auto_memory_is_extracted_from_chat_text ... ok
[INFO] [stdout] test chat_adapter::tests::empty_text_is_not_persisted ... ok
[INFO] [stdout] test chat_adapter::tests::handle_message_persists_inbound_text ... ok
[INFO] [stdout] test chat_adapter::tests::link_message_creates_article_and_task ... ok
[INFO] [stdout] test chat_adapter::tests::manual_tasks_query_does_not_create_new_tasks ... ok
[INFO] [stdout] test chat_adapter::tests::mark_seen_store_error_is_fail_closed ... ok
[INFO] [stdout] test chat_adapter::tests::runtime_session_state_merge_returns_false_when_equivalent ... ok
[INFO] [stdout] test chat_adapter::tests::manual_content_submission_archives_task ... ok
[INFO] [stdout] test chat_adapter::tests::no_session_state_does_not_panic ... ok
[INFO] [stdout] test chat_adapter::tests::runtime_session_state_merge_is_conservative ... ok
[INFO] [stdout] test chat_adapter::tests::duplicate_link_messages_do_not_create_second_article_or_task ... ok
[INFO] [stdout] test chat_adapter::tests::daily_report_query_builds_reply ... ok
[INFO] [stdout] test chat_adapter::tests::duplicate_message_is_ignored_by_handle_message ... ok
[INFO] [stdout] test chat_adapter::tests::should_send_processing_ack_threshold_behavior ... ok
[INFO] [stdout] test chat_adapter::tests::split_reply_into_chunks_long_text_multi_chunks ... ok
[INFO] [stdout] test chat_adapter::tests::split_reply_into_chunks_preserves_full_content_when_joined ... ok
[INFO] [stdout] test chat_adapter::tests::split_reply_into_chunks_short_text_single_chunk ... ok
[INFO] [stdout] test chat_adapter::tests::split_reply_into_chunks_zero_budget_does_not_loop ... ok
[INFO] [stdout] test chat_adapter::tests::flush_expired_sessions_deletes_persisted_state ... ok
[INFO] [stdout] test chat_adapter::tests::context_debug_query_keeps_pending_session_intact ... ok
[INFO] [stdout] test chat_adapter::tests::context_debug_does_not_corrupt_persistent_state ... ok
[INFO] [stdout] test chat_adapter::tests::manual_archive_rejected_reply_includes_current_status ... ok
[INFO] [stdout] test chat_adapter::tests::pending_chat_session_is_persisted ... ok
[INFO] [stdout] test chat_adapter::tests::pending_link_task_is_consumed ... ok
[INFO] [stdout] test chat_adapter::tests::persisted_session_is_restored_on_bot_startup ... ok
[INFO] [stdout] test chat_adapter::tests::recent_tasks_query_does_not_create_new_tasks ... ok
[INFO] [stdout] test chat_adapter::tests::session_state_is_written_on_flush ... ok
[INFO] [stdout] test chat_adapter::tests::status_query_after_link_keeps_single_task ... ok
[INFO] [stdout] test command_router::tests::bang_bang_suffix_becomes_commit ... ok
[INFO] [stdout] test command_router::tests::bare_commit_marker_is_ignored ... ok
[INFO] [stdout] test command_router::tests::bare_continue_marker_is_ignored ... ok
[INFO] [stdout] test command_router::tests::bare_domain_becomes_link_submission ... ok
[INFO] [stdout] test command_router::tests::bare_domain_with_path_becomes_link_submission ... ok
[INFO] [stdout] test command_router::tests::daily_report_command_is_supported ... ok
[INFO] [stdout] test command_router::tests::dot_dot_suffix_becomes_continue ... ok
[INFO] [stdout] test command_router::tests::duplicate_urls_are_deduplicated ... ok
[INFO] [stdout] test command_router::tests::email_like_text_is_not_treated_as_link ... ok
[INFO] [stdout] test command_router::tests::empty_text_is_ignored ... ok
[INFO] [stdout] test command_router::tests::english_status_command_is_supported ... ok
[INFO] [stdout] test command_router::tests::manual_content_submission_is_supported ... ok
[INFO] [stdout] test command_router::tests::manual_tasks_command_is_supported ... ok
[INFO] [stdout] test command_router::tests::mixed_text_with_url_becomes_link_submission ... ok
[INFO] [stdout] test command_router::tests::plain_text_becomes_pending ... ok
[INFO] [stdout] test command_router::tests::recent_tasks_command_is_supported ... ok
[INFO] [stdout] test chat_adapter::tests::session_state_v2_fields_written_on_flush ... ok
[INFO] [stdout] test command_router::tests::retry_command_becomes_task_retry ... ok
[INFO] [stdout] test command_router::tests::status_command_becomes_task_query ... ok
[INFO] [stdout] test command_router::tests::surrounding_whitespace_is_trimmed ... ok
[INFO] [stdout] test command_router::tests::trailing_punctuation_is_removed_from_url ... ok
[INFO] [stdout] test command_router::tests::user_memory_commands_are_supported ... ok
[INFO] [stdout] test command_router::tests::url_becomes_link_submission ... ok
[INFO] [stdout] test command_router::tests::weekly_report_command_is_supported ... ok
[INFO] [stdout] test chat_adapter::tests::status_query_does_not_create_article_or_task ... ok
[INFO] [stdout] test config::tests::default_retriever_mode_is_rule ... ok
[INFO] [stdout] test command_router::tests::user_memory_suppress_commands_are_supported ... ok
[INFO] [stdout] test config::tests::relative_storage_root_is_resolved_against_config_dir ... ok
[INFO] [stdout] test config::tests::missing_config_is_created_with_defaults ... ok
[INFO] [stdout] test context_pack::tests::context_pack_drop_reasons_on_budget_exceeded ... ok
[INFO] [stdout] test context_pack::tests::context_pack_builds_with_sections ... ok
[INFO] [stdout] test context_pack::tests::context_pack_no_state_degradation ... ok
[INFO] [stdout] test context_pack::tests::context_pack_trim_records_reason ... ok
[INFO] [stdout] test context_pack::tests::section_access_by_kind ... ok
[INFO] [stdout] test context_pack::tests::tie_break_drops_smaller_section_first ... ok
[INFO] [stdout] test logging::tests::structured_log_payload_has_core_fields_and_drops_nulls ... ok
[INFO] [stdout] test mode_policy::tests::restricted_allows_public_url ... ok
[INFO] [stdout] test mode_policy::tests::restricted_allows_172_32 ... ok
[INFO] [stdout] test mode_policy::tests::restricted_allows_read ... ok
[INFO] [stdout] test mode_policy::tests::restricted_denies_127_0_0_1 ... ok
[INFO] [stdout] test mode_policy::tests::restricted_denies_file_protocol ... ok
[INFO] [stdout] test mode_policy::tests::restricted_denies_ipv6_loopback ... ok
[INFO] [stdout] test mode_policy::tests::restricted_denies_localhost_url ... ok
[INFO] [stdout] test mode_policy::tests::restricted_denies_172_16 ... ok
[INFO] [stdout] test chat_adapter::tests::session_state_is_loaded_and_injected_into_agent_context ... ok
[INFO] [stdout] test chat_adapter::tests::session_state_user_isolation_in_chat_adapter ... ok
[INFO] [stdout] test mode_policy::tests::restricted_denies_run_command ... ok
[INFO] [stdout] test mode_policy::tests::unrestricted_allows_all_tools ... ok
[INFO] [stdout] test pipeline::tests::browser_capture_response_paths_must_match_request ... ok
[INFO] [stdout] test pipeline::tests::decode_entities_converts_common ... ok
[INFO] [stdout] test pipeline::tests::decode_entities_preserves_unknown_entity ... ok
[INFO] [stdout] test pipeline::tests::decode_entities_supports_numeric_decimal_and_hex ... ok
[INFO] [stdout] test pipeline::tests::empty_pre_block_behavior ... ok
[INFO] [stdout] test pipeline::tests::html_fragment_to_markdown_preserves_code_block ... ok
[INFO] [stdout] test pipeline::tests::http_archive_extracts_generic_article_body ... ok
[INFO] [stdout] test pipeline::tests::http_redirect_to_private_target_is_rejected ... ok
[INFO] [stdout] test pipeline::tests::non_wechat_urls_allow_http_redirects ... ok
[INFO] [stdout] test config::tests::invalid_toml_returns_error ... ok
[INFO] [stdout] test pipeline::tests::page_kind_article_keeps_existing_logic ... ok
[INFO] [stdout] test pipeline::tests::page_kind_error_page_chinese ... ok
[INFO] [stdout] test pipeline::tests::page_kind_error_page_short_with_error_title ... ok
[INFO] [stdout] test pipeline::tests::page_kind_error_page_detected_without_primary_body ... ok
[INFO] [stdout] test pipeline::tests::page_kind_index_like_many_links_little_prose ... ok
[INFO] [stdout] test pipeline::tests::page_kind_link_post_short_with_link ... ok
[INFO] [stdout] test pipeline::tests::page_kind_index_like_many_list_items ... ok
[INFO] [stdout] test pipeline::tests::page_kind_long_article_about_404_not_classified_as_error ... ok
[INFO] [stdout] test pipeline::tests::page_kind_webpage_fallback ... ok
[INFO] [stdout] test pipeline::tests::pipeline_log_payload_keeps_contract_fields ... ok
[INFO] [stdout] test pipeline::tests::pre_block_converts_to_code_fence ... ok
[INFO] [stdout] test pipeline::tests::manual_content_creates_archive ... ok
[INFO] [stdout] test pipeline::tests::browser_capture_archive_uses_extracted_body ... ok
[INFO] [stdout] test pipeline::tests::pre_block_preserves_indentation ... ok
[INFO] [stdout] test pipeline::tests::pre_block_wechat_code_snippets ... ok
[INFO] [stdout] test pipeline::tests::pre_block_with_whitespace_attrs ... ok
[INFO] [stdout] test pipeline::tests::primary_body_extracts_wechat_title_and_content ... ok
[INFO] [stdout] test pipeline::tests::primary_body_keeps_links_and_images ... ok
[INFO] [stdout] test pipeline::tests::primary_body_keeps_links_and_images_with_single_quoted_attrs ... ok
[INFO] [stdout] test pipeline::tests::restore_code_placeholders_ignores_user_text_collision ... ok
[INFO] [stdout] test pipeline::tests::redirected_wechat_error_page_is_detected_by_final_url ... ok
[INFO] [stdout] test pipeline::tests::rule_summary_filters_navigation_text ... ok
[INFO] [stdout] test pipeline::tests::rule_summary_returns_none_for_empty_input ... ok
[INFO] [stdout] test pipeline::tests::rule_summary_skips_short_paragraphs ... ok
[INFO] [stdout] test pipeline::tests::strip_html_tags_removes_all_tags ... ok
[INFO] [stdout] test pipeline::tests::title_extraction_handles_missing_title ... ok
[INFO] [stdout] test pipeline::tests::wechat_captcha_redirect_is_rejected ... ok
[INFO] [stdout] test pipeline::tests::wechat_domain_prefers_browser_capture ... ok
[INFO] [stdout] test pipeline::tests::wechat_urls_keep_redirect_guard ... ok
[INFO] [stdout] test pipeline::tests::wechat_error_page_is_rejected ... ok
[INFO] [stdout] test pipeline::tests::rule_summary_generates_from_title_and_paragraphs ... ok
[INFO] [stdout] test pipeline::tests::http_archive_includes_summary_section ... ok
[INFO] [stdout] test pipeline::tests::processing_pending_task_creates_markdown_file ... ok
[INFO] [stdout] test chat_adapter::tests::retry_command_processes_task_immediately ... FAILED
[INFO] [stdout] test chat_adapter::tests::task_status_can_reflect_awaiting_manual_input ... ok
[INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_empty_batch ... ok
[INFO] [stdout] test chat_adapter::tests::send_generated_reply_writes_trace_with_chat_context ... ok
[INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_model_name_returns_inner ... ok
[INFO] [stdout] test chat_adapter::tests::user_memory_commands_write_and_read_back ... ok
[INFO] [stdout] test chat_adapter::tests::session_state_updated_at_is_refreshed_after_agent_run ... ok
[INFO] [stdout] test chat_adapter::tests::user_memory_promoted_short_non_ascii_id_safe_preview ... ok
[INFO] [stdout] test chat_adapter::tests::user_memory_suppress_command_removes_from_list ... ok
[INFO] [stdout] test chat_adapter::tests::user_memory_suppress_command_cannot_remove_other_users_memory ... ok
[INFO] [stdout] test retriever::embedding::tests::create_provider_deepseek_without_env_fails ... ok
[INFO] [stdout] test retriever::embedding::tests::create_provider_moonshot_without_env_fails ... ok
[INFO] [stdout] test retriever::embedding::tests::create_provider_noop_works ... ok
[INFO] [stdout] test retriever::embedding::tests::create_provider_unknown_fails ... ok
[INFO] [stdout] test retriever::embedding::tests::embedding_response_parsing ... ok
[INFO] [stdout] test retriever::embedding::tests::noop_embed_documents_returns_explicit_error ... ok
[INFO] [stdout] test retriever::embedding::tests::noop_embed_query_returns_explicit_error ... ok
[INFO] [stdout] test retriever::embedding::tests::noop_provider_has_stable_model_name ... ok
[INFO] [stdout] test retriever::guarded::tests::guarded_disabled_uses_fallback ... ok
[INFO] [stdout] test retriever::guarded::tests::guarded_enabled_empty_allowlist_allows_all ... ok
[INFO] [stdout] test retriever::guarded::tests::guarded_enabled_with_allowlist_hit_uses_primary ... ok
[INFO] [stdout] test retriever::guarded::tests::guarded_enabled_with_allowlist_miss_uses_fallback ... ok
[INFO] [stdout] test retriever::guarded::tests::guarded_fallback_only_always_uses_fallback ... ok
[INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_different_dimensions ... ok
[INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_identical_vectors ... ok
[INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_opposite_vectors ... ok
[INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_orthogonal_vectors ... ok
[INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_zero_vector ... ok
[INFO] [stdout] test chat_adapter::tests::user_memory_useful_command_cannot_mark_other_users_memory ... ok
[INFO] [stdout] test chat_adapter::tests::weekly_report_query_builds_reply ... ok
[INFO] [stdout] test chat_adapter::tests::user_memory_useful_command_marks_memory_useful ... ok
[INFO] [stdout] test retriever::cached_embedding::tests::task_store_embedding_cache_roundtrip ... ok
[INFO] [stdout] test reporter::tests::weekly_report_is_generated_for_archived_tasks ... ok
[INFO] [stdout] test reporter::tests::daily_report_is_generated_for_archived_tasks ... ok
[INFO] [stdout] test retriever::cached_embedding::tests::task_store_embedding_cache_batch_roundtrip ... ok
[INFO] [stdout] test retriever::cached_embedding::tests::task_store_embedding_cache_clear ... ok
[INFO] [stdout] test reporter::tests::daily_report_includes_summary_when_available ... ok
[INFO] [stdout] test reporter::tests::utc_storage_with_local_timezone_boundary_is_correct ... ok
[INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_custom_alpha ... ok
[INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_batch_partial_hit ... ok
[INFO] [stdout] test retriever::cached_embedding::tests::task_store_embedding_cache_stats ... ok
[INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_miss_then_hit ... ok
[INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_survives_db_missing ... ok
[INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_basic_flow ... ok
[INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_empty_result_for_unknown_user ... ok
[INFO] [stdout] test retriever::rule::tests::rule_retriever_custom_name ... ok
[INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_fallback_on_embedding_error ... ok
[INFO] [stdout] test retriever::rule::tests::retrieve_result_contains_retriever_name_and_counts ... ok
[INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_fallback_on_empty_query_text ... ok
[INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_custom_name ... ok
[INFO] [stdout] test retriever::rule::tests::rule_retriever_empty_result_for_unknown_user ... ok
[INFO] [stdout] test retriever::rule::tests::rule_retriever_returns_metadata_with_memory_type_and_priority ... ok
[INFO] [stdout] test retriever::rule::tests::rule_retriever_returns_same_order_as_task_store_search ... ok
[INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_respects_limit ... ok
[INFO] [stdout] test scheduler::tests::daily_report_schedule_is_built_from_config ... ok
[INFO] [stdout] test scheduler::tests::daily_run_time_is_parsed ... ok
[INFO] [stdout] test scheduler::tests::invalid_daily_run_time_is_rejected ... ok
[INFO] [stdout] test retriever::rule::tests::rule_retriever_user_isolation ... ok
[INFO] [stdout] test scheduler::tests::scheduler_watchdog_detects_panic ... ok
[INFO] [stdout] test scheduler::tests::should_run_only_after_scheduled_time_and_once_per_day ... ok
[INFO] [stdout] test scheduler::tests::should_run_weekly_after_target_weekday_and_once_per_week ... ok
[INFO] [stdout] test scheduler::tests::weekly_report_schedule_is_built_from_config ... ok
[INFO] [stdout] test session_router::tests::commit_flushes_buffered_messages ... ok
[INFO] [stdout] test session_router::tests::continue_does_not_flush_immediately ... ok
[INFO] [stdout] test session_router::tests::expired_session_is_flushed ... ok
[INFO] [stdout] test retriever::semantic::tests::semantic_retriever_basic_flow ... ok
[INFO] [stdout] test session_router::tests::flushed_session_is_removed ... ok
[INFO] [stdout] test session_router::tests::message_ids_are_preserved_when_flushing ... ok
[INFO] [stdout] test session_router::tests::next_flush_delay_tracks_soonest_session ... ok
[INFO] [stdout] test session_router::tests::pending_messages_do_not_flush_immediately ... ok
[INFO] [stdout] test retriever::semantic::tests::semantic_retriever_custom_name ... ok
[INFO] [stdout] test session_router::tests::session_snapshot_reflects_buffered_state ... ok
[INFO] [stdout] test session_router::tests::restore_session_allows_timeout_flush ... ok
[INFO] [stdout] test retriever::semantic::tests::semantic_retriever_empty_result_for_unknown_user ... ok
[INFO] [stdout] test session_router::tests::users_are_isolated ... ok
[INFO] [stdout] test session_summary::tests::build_session_text_uses_boundary_for_long_input ... ok
[INFO] [stdout] test session_summary::tests::build_session_text_uses_full_for_short_input ... ok
[INFO] [stdout] test session_summary::tests::semantic_summary_keeps_keywords_and_last_segment ... ok
[INFO] [stdout] test session_summary::tests::truncate_summary_adds_notice ... ok
[INFO] [stdout] test scheduler::tests::scheduler_watchdog_ignores_normal_shutdown ... ok
[INFO] [stdout] test retriever::semantic::tests::semantic_retriever_fallback_on_embedding_error ... ok
[INFO] [stdout] test retriever::semantic::tests::semantic_retriever_fallback_on_empty_query_text ... ok
[INFO] [stdout] test retriever::shadow::tests::shadow_empty_result_for_unknown_user ... ok
[INFO] [stdout] test retriever::shadow::tests::shadow_custom_name ... ok
[INFO] [stdout] test retriever::shadow::tests::shadow_retrieve_non_blocking ... ok
[INFO] [stdout] test retriever::shadow::tests::shadow_returns_rule_result_even_with_hybrid ... ok
[INFO] [stdout] test retriever::shadow::tests::shadow_matches_rule_output ... ok
[INFO] [stdout] test retriever::shadow::tests::shadow_skips_hybrid_when_query_text_empty ... ok
[INFO] [stdout] test retriever::semantic::tests::semantic_retriever_respects_limit ... ok
[INFO] [stdout] test retriever::shadow::tests::shadow_without_hybrid_works_like_rule ... ok
[INFO] [stdout] test task_store::tests::govern_explicit_promotes_lesson ... ok
[INFO] [stdout] test task_store::tests::context_token_can_be_persisted_and_loaded ... ok
[INFO] [stdout] test task_store::tests::cleanup_expired_user_session_states_cleans_both_tables ... ok
[INFO] [stdout] test task_store::tests::govern_project_fact_cannot_downgrade_explicit ... ok
[INFO] [stdout] test task_store::tests::govern_lesson_skips_duplicate_project_fact ... ok
[INFO] [stdout] test task_store::tests::govern_user_preference_promotes_auto ... ok
[INFO] [stdout] test task_store::tests::lesson_can_be_written_and_retrieved ... ok
[INFO] [stdout] test task_store::tests::memory_basic::explicit_memory_sorts_before_auto ... ok
[INFO] [stdout] test task_store::tests::memory_basic::search_memories_respects_limit ... ok
[INFO] [stdout] test task_store::tests::memory_basic::search_memories_returns_all_sorted ... ok
[INFO] [stdout] test task_store::tests::memory_feedback::feedback_state_is_single_source ... ok
[INFO] [stdout] test task_store::tests::memory_basic::suppress_memory_excludes_from_results ... ok
[INFO] [stdout] test task_store::tests::memory_basic::search_memories_sorts_by_priority_and_dedupes ... ok
[INFO] [stdout] test task_store::tests::memory_basic::suppress_memory_rejects_other_users_memory ... ok
[INFO] [stdout] test task_store::tests::memory_basic::suppress_memory_rejects_unknown_id ... ok
[INFO] [stdout] test task_store::tests::memory_basic::user_memory_can_be_added_and_listed ... ok
[INFO] [stdout] test task_store::tests::memory_basic::user_memory_dedup_check_works ... ok
[INFO] [stdout] test task_executor::tests::worker_survives_task_panic_and_consumes_next_task ... ok
[INFO] [stdout] test task_store::tests::memory_basic::user_memory_isolation ... ok
[INFO] [stdout] test task_store::tests::memory_basic::user_memory_schema_has_new_fields ... ok
[INFO] [stdout] test task_store::tests::memory_basic::user_memory_migration_adds_columns ... ok
[INFO] [stdout] test task_store::tests::memory_basic::user_memory_typed_auto ... ok
[INFO] [stdout] test task_store::tests::memory_feedback::confirm_memory_useful_enforces_user_ownership ... ok
[INFO] [stdout] test task_store::tests::memory_feedback::feedback_injected_updates_injected_count ... ok
[INFO] [stdout] test task_store::tests::memory_feedback::feedback_useful_updates_use_count_and_useful_and_last_used_at ... ok
[INFO] [stdout] test task_store::tests::memory_feedback::feedback_retrieved_updates_retrieved_count ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_auto_does_not_downgrade_explicit ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_explicit_promotes_auto ... ok
[INFO] [stdout] test task_store::tests::memory_type_label_prefixes_are_correct ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_skips_empty_content ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_skips_duplicate_same_type ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_skips_too_long_content ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_write_state_counters_accurate ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_write_state_no_cross_user_leak ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_writes_new_auto_memory ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_writes_new_explicit_memory ... ok
[INFO] [stdout] test task_store::tests::memory_governance::memory_write_threshold_skips_noise ... ok
[INFO] [stdout] test task_store::tests::memory_sorting::explicit_still_sorts_before_auto ... ok
[INFO] [stdout] test task_store::tests::memory_sorting::higher_use_count_sorts_first ... ok
[INFO] [stdout] test task_store::tests::memory_sorting::last_used_at_affects_sorting ... ok
[INFO] [stdout] test task_store::tests::memory_sorting::sorting_is_deterministic ... ok
[INFO] [stdout] test task_store::tests::messages::duplicate_message_does_not_create_second_inbound_row ... ok
[INFO] [stdout] test task_store::tests::memory_type_user_isolation ... ok
[INFO] [stdout] test task_store::tests::messages::duplicate_message_is_ignored_even_after_reopen ... ok
[INFO] [stdout] test task_store::tests::memory_sorting::useful_auto_sorts_before_non_useful_auto ... ok
[INFO] [stdout] test task_store::tests::messages::inbound_message_text_is_persisted ... ok
[INFO] [stdout] test task_store::tests::messages::schema_is_created ... ok
[INFO] [stdout] test task_store::tests::new_memory_types_sort_by_priority ... ok
[INFO] [stdout] test task_store::tests::project_fact_can_be_written_and_retrieved ... ok
[INFO] [stdout] test task_store::tests::session_state_can_be_persisted_listed_and_deleted ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::archived_tasks_can_be_listed ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::duplicate_link_returns_existing_article_and_task ... ok
[INFO] [stdout] test task_store::tests::summary_is_overwritten_on_rerun ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::expired_lease_task_can_be_reclaimed ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::link_submission_creates_article_and_task ... ok
[INFO] [stdout] test task_store::tests::task_store_log_payload_keeps_contract_fields ... ok
[INFO] [stdout] test task_store::tests::url_guard::domain_resolving_to_private_ip_is_blocked ... ok
[INFO] [stdout] test task_store::tests::url_guard::domain_resolving_to_public_ip_is_allowed ... ok
[INFO] [stdout] test task_store::tests::url_guard::fc_fd_prefix_domain_names_are_not_falsely_blocked ... ok
[INFO] [stdout] test task_store::tests::url_guard::is_private_url_detects_all_known_patterns ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::pending_tasks_can_be_listed_and_archived ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::mark_task_awaiting_manual_input_preserves_snapshot_when_none ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::mark_task_failed_preserves_diagnostic_fields ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::querying_missing_task_returns_none ... ok
[INFO] [stdout] test task_store::tests::messages::concurrent_writes_do_not_panic_on_busy ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::recent_tasks_returns_latest_first ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::retry_missing_task_returns_none ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::manual_tasks_can_be_listed ... ok
[INFO] [stdout] test task_store::tests::memory_governance::govern_dedup_checks_all_active_memories_not_top_50 ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::retry_processing_task_returns_validation_error ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::task_can_be_marked_awaiting_manual_input ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::retry_task_resets_status_and_clears_error ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::task_can_be_marked_failed ... ok
[INFO] [stdout] test task_store::tests::task_lifecycle::task_status_can_be_queried ... ok
[INFO] [stdout] test task_store::tests::url_guard::javascript_scheme_is_rejected_during_link_submission ... ok
[INFO] [stdout] test tool_registry::tests::create_write_read_file_works ... ok
[INFO] [stdout] test task_store::tests::url_guard::non_http_scheme_is_rejected_during_link_submission ... ok
[INFO] [stdout] test tool_registry::tests::deny_outside_workspace_path ... ok
[INFO] [stdout] test tool_registry::tests::deny_symlink_file_escape_read ... ok
[INFO] [stdout] test tool_registry::tests::deny_symlink_parent_escape_write ... ok
[INFO] [stdout] test task_store::tests::user_preference_can_be_written_and_retrieved ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_empty_load_returns_none ... ok
[INFO] [stdout] test task_store::tests::url_guard::tracking_query_params_are_removed_during_normalization ... ok
[INFO] [stdout] test task_store::tests::url_guard::private_network_urls_are_rejected ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_all_optional_fields_can_be_none ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_first_write_and_read_back ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_overwrite_updates_fields ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_clear_removes_record ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_survives_reopen ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_upsert_empty_user_id_fails ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_user_isolation ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_v2_fields_round_trip ... ok
[INFO] [stdout] test tool_registry::tests::deny_archive_path_outside_workspace ... ok
[INFO] [stdout] test tool_registry::tests::get_task_status_reads_from_task_store ... ok
[INFO] [stdout] test task_store::tests::user_session_state::user_session_state_v2_migration_on_existing_db ... ok
[INFO] [stdout] test tool_registry::tests::read_article_archive_reads_output_file_from_task_status ... ok
[INFO] [stdout] test tool_registry::tests::list_recent_and_manual_tasks_read_from_task_store ... ok
[INFO] [stdout] test reporter::tests::daily_report_does_not_miss_entries_when_recent_history_is_large ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- chat_adapter::tests::retry_command_processes_task_immediately stdout ----
[INFO] [stdout] {"event":"message_received","level":"info","message_id":"msg-12","text_chars":38,"text_preview":"https://example.com/retry-chat-fixture","ts":"2026-06-12T04:33:49.729140204+08:00","user_id":"user-a"}
[INFO] [stdout] {"event":"worker_started","level":"info","ts":"2026-06-12T04:33:49.729158654+08:00","worker_id":"1c29aa10-901a-4744-a6e2-1153d025db76"}
[INFO] [stdout] {"event":"inbound_message_recorded","level":"info","message_id":"msg-12","status":"recorded","text_chars":38,"ts":"2026-06-12T04:33:49.733544942+08:00","user_id":"user-a"}
[INFO] [stdout] {"event":"message_accepted","level":"info","message_id":"msg-12","status":"accepted","ts":"2026-06-12T04:33:49.733644782+08:00","user_id":"user-a"}
[INFO] [stdout] {"event":"reply_skipped_no_context_token","level":"warn","reply_chars":53,"reply_preview":"- 失败 https://example.com/retry-chat-fixture => 写入文章失败","ts":"2026-06-12T04:33:49.737105431+08:00","user_id":"user-a"}
[INFO] [stdout] 
[INFO] [stdout] thread 'chat_adapter::tests::retry_command_processes_task_immediately' (195) panicked at src/chat_adapter/tests.rs:111:10:
[INFO] [stdout] 应存在任务: QueryReturnedNoRows
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55846f243068 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55846f243068 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55846f243068 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55846f243068 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55846f25c7ea - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55846f25c7ea - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x55846f248972 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x55846f248972 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x55846f21e7f6 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55846f21e7f6 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55846f23a4c9 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55846eb4026c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x55846eb4026c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x55846f23a742 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x55846f23a742 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55846f21e8b2 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55846f213179 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55846f21fa5d - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55846f25cfac - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55846f25cd22 - core[28b146924c2f19c6]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/result.rs:1872:5
[INFO] [stdout]   20:     0x55846e871543 - <core[28b146924c2f19c6]::result::Result<alloc[95e62e727ddf147d]::string::String, rusqlite[f00f66d9b12f5cf6]::error::Error>>::expect
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55846e9ff623 - amclaw[b35dead83aa89e3c]::chat_adapter::tests::first_task_id
[INFO] [stdout]                                at /opt/rustwide/workdir/src/chat_adapter/tests.rs:111:10
[INFO] [stdout]   22:     0x55846ea0654a - amclaw[b35dead83aa89e3c]::chat_adapter::tests::retry_command_processes_task_immediately
[INFO] [stdout]                                at /opt/rustwide/workdir/src/chat_adapter/tests.rs:360:19
[INFO] [stdout]   23:     0x55846e9f32e7 - amclaw[b35dead83aa89e3c]::chat_adapter::tests::retry_command_processes_task_immediately::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/chat_adapter/tests.rs:338:46
[INFO] [stdout]   24:     0x55846e999ff6 - <amclaw[b35dead83aa89e3c]::chat_adapter::tests::retry_command_processes_task_immediately::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55846eb3334b - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55846eb3334b - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   27:     0x55846eb40bc5 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   28:     0x55846eb40bc5 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   29:     0x55846eb40bc5 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x55846eb40bc5 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x55846eb40bc5 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x55846eb40bc5 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   33:     0x55846eb40bc5 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   34:     0x55846eb3b724 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   35:     0x55846eb3b724 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x55846eb43c42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   37:     0x55846eb43c42 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   38:     0x55846eb43c42 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x55846eb43c42 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x55846eb43c42 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x55846eb43c42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   42:     0x55846eb43c42 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55846f2422bf - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   44:     0x55846f2422bf - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   45:     0x7f0cb4c06aa4 - <unknown>
[INFO] [stdout]   46:     0x7f0cb4c93a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] {"event":"worker_shutdown","level":"info","ts":"2026-06-12T04:33:49.937691004+08:00"}
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     chat_adapter::tests::retry_command_processes_task_immediately
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 399 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.49s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "92ee6a63d7b1f17cf7549da6855bad4aeeb65343e7eb291b148cd2439f6f77ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92ee6a63d7b1f17cf7549da6855bad4aeeb65343e7eb291b148cd2439f6f77ca", kill_on_drop: false }`
[INFO] [stdout] 92ee6a63d7b1f17cf7549da6855bad4aeeb65343e7eb291b148cd2439f6f77ca
